home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2001 May / SGI Freeware 2001 May - Disc 1.iso / dist / fw_socks5.idb / usr / freeware / include / socks.h.z / socks.h
C/C++ Source or Header  |  1999-04-16  |  5KB  |  170 lines

  1. /* Copyright (c) 1995,1996,1997 NEC Corporation.  All rights reserved.       */
  2. /*                                                                           */
  3. /* The redistribution, use and modification in source or binary forms of     */
  4. /* this software is subject to the conditions set forth in the copyright     */
  5. /* document ("Copyright") included with this distribution.                   */
  6.  
  7. /*
  8.  * $Id: socks.h,v 1.1 1999/04/07 15:38:53 drk Exp $
  9.  */
  10.  
  11. #ifndef SOCKS_H
  12. #define SOCKS_H
  13.  
  14. #ifdef SOCKS
  15.  
  16. #ifndef LIBPREFIX
  17. #ifdef USE_SOCKS4_PREFIX
  18. #define LIBPREFIX(x)  R ## x
  19. #else
  20. #define LIBPREFIX(x)  SOCKS ## x
  21. #endif
  22. #endif
  23.  
  24. #include <setjmp.h>
  25. #if defined(sgi) && (defined(_BSD_SIGNALS) || defined(_BSD_COMPAT))
  26. #undef longjmp
  27. #endif
  28.  
  29. #ifdef INCLUDE_PROTOTYPES
  30.  
  31. #ifndef P
  32. #if defined(__STDC__) || defined(HAVE_FUNC_PROTOTYPE)
  33. #define P(x) x
  34. #else
  35. #define P(X) ()
  36. #endif
  37. #endif
  38.  
  39. #ifndef IORETTYPE 
  40. #define IORETTYPE int
  41. #endif
  42.  
  43. #ifndef IOPTRTYPE 
  44. #define IOPTRTYPE void *
  45. #endif
  46.  
  47. #ifndef IOLENTYPE 
  48. #define IOLENTYPE size_t
  49. #endif
  50.  
  51. /* Include real prototypes now to avoid conflicts. */
  52. #include <sys/types.h>
  53. #include <sys/socket.h>
  54. #include <netdb.h>
  55.  
  56. extern int LIBPREFIX(init)        P((char *));
  57. extern int LIBPREFIX(getpeername) P((int, struct sockaddr *, int *));
  58. extern int LIBPREFIX(getsockname) P((int, struct sockaddr *, int *));
  59. extern int LIBPREFIX(accept)      P((int, struct sockaddr *, int *));
  60. extern int LIBPREFIX(connect)     P((int, const struct sockaddr *, int));
  61. extern int LIBPREFIX(bind)        P((int, const struct sockaddr *, int));
  62.  
  63. extern IORETTYPE LIBPREFIX(recvfrom)    P((int,       IOPTRTYPE, IOLENTYPE, int,       struct sockaddr *, int *));
  64. extern IORETTYPE LIBPREFIX(sendto)      P((int, const IOPTRTYPE, IOLENTYPE, int, const struct sockaddr *, int));
  65. extern IORETTYPE LIBPREFIX(recv)        P((int,       IOPTRTYPE, int, int));
  66. extern IORETTYPE LIBPREFIX(send)        P((int, const IOPTRTYPE, int, int));
  67. extern IORETTYPE LIBPREFIX(read)        P((int,       IOPTRTYPE, IOLENTYPE));
  68. extern IORETTYPE LIBPREFIX(write)       P((int, const IOPTRTYPE, IOLENTYPE));
  69.  
  70. extern int LIBPREFIX(fprintf)     P((FILE *, const char *, ...));
  71. extern int LIBPREFIX(vfprintf)    P((FILE *, const char *, ...));
  72. extern int LIBPREFIX(getc)        P((FILE *));
  73.  
  74. extern int LIBPREFIX(rresvport)   P((int *));
  75. extern int LIBPREFIX(shutdown)    P((int, int));
  76. extern int LIBPREFIX(listen)      P((int, int));
  77. extern int LIBPREFIX(close)       P((int));
  78. extern int LIBPREFIX(dup)         P((int));
  79. extern int LIBPREFIX(dup2)        P((int, int));
  80. extern int LIBPREFIX(fclose)      P((FILE *));
  81. extern struct tm * LIBPREFIX(localtime) P((const time_t *));
  82. extern void        LIBPREFIX(longjmp)   P((jmp_buf, int));
  83. extern int         LIBPREFIX(BSDlongjmp)      P((jmp_buf, int));
  84. extern int LIBPREFIX(select)      P((int, fd_set *, fd_set *, fd_set *, struct timeval *));
  85.  
  86. extern struct hostent *LIBPREFIX(gethostbyname) P((char *));
  87. #endif /* include prototypes */
  88.  
  89. #if defined(getpeername) && defined(_AIX)
  90. #undef  getpeername
  91. #define getpeername   LIBPREFIX(ngetpeername)
  92. #else
  93. #define getpeername   LIBPREFIX(getpeername)
  94. #endif
  95.  
  96. #if defined(getsockname) && defined(_AIX)
  97. #undef  getsockname
  98. #define getsockname   LIBPREFIX(ngetsockname)
  99. #else
  100. #define getsockname   LIBPREFIX(getsockname)
  101. #endif
  102.  
  103. #if defined(accept) && defined(_AIX)
  104. #undef  accept
  105. #define accept        LIBPREFIX(naccept)
  106. #else
  107. #define accept        LIBPREFIX(accept)
  108. #endif
  109.  
  110. #if defined(recvfrom) && defined(_AIX)
  111. #undef  recvfrom
  112. #define recvfrom      LIBPREFIX(nrecvfrom)
  113. #else
  114. #define recvfrom      LIBPREFIX(recvfrom)
  115. #endif
  116.  
  117. #define gethostbyname LIBPREFIX(gethostbyname)
  118. #define rresvport     LIBPREFIX(rresvport)
  119. #define connect       LIBPREFIX(connect)
  120. #define listen        LIBPREFIX(listen)
  121. #define select        LIBPREFIX(select)
  122. #define bind          LIBPREFIX(bind)
  123.  
  124. #define shutdown      LIBPREFIX(shutdown)
  125. #define fclose        LIBPREFIX(fclose)
  126. #define localtime     LIBPREFIX(localtime)
  127.  
  128. #if defined(sgi) && (defined(_BSD_SIGNALS) || defined(_BSD_COMPAT))
  129. #define longjmp       LIBPREFIX(BSDlongjmp)
  130. #else
  131. #define longjmp       LIBPREFIX(longjmp)
  132. #endif
  133.  
  134. #define close         LIBPREFIX(close)
  135. #define dup2          LIBPREFIX(dup2)
  136. #define dup           LIBPREFIX(dup)
  137.  
  138. #define recv          LIBPREFIX(recv)
  139. #define sendto        LIBPREFIX(sendto)
  140. #define send          LIBPREFIX(send)
  141.  
  142. #define read          LIBPREFIX(read)
  143. #define write         LIBPREFIX(write)
  144.  
  145. #define fprintf       LIBPREFIX(fprintf)
  146. #define vfprintf      LIBPREFIX(vfprintf)
  147.  
  148. #ifdef getc
  149. #undef getc
  150. #define getc          LIBPREFIX(getc)
  151. #else
  152. #define getc          LIBPREFIX(getc)
  153. #endif
  154.  
  155. #if defined(SOCKS4TO5) && !defined(USE_SOCKS4_PREFIX)
  156.  
  157. #define Rconnect      LIBPREFIX(connect)
  158. #define Rbind         LIBPREFIX(bind)
  159. #define Raccept       LIBPREFIX(accept)
  160. #define Rlisten       LIBPREFIX(listen)
  161. #define Rselect       LIBPREFIX(select)
  162. #define Rgetsockname  LIBPREFIX(getsockname)
  163. #define Rgetpeername  LIBPREFIX(getpeername)
  164.  
  165. #endif
  166. #endif /* SOCKS */
  167. #endif /* included socks.h */
  168.  
  169.  
  170.